# 定义源文件和目标文件
COMMON_DIR = ../../common
COMMON_SRCS =  $(COMMON_DIR)/log.cpp  \
                $(COMMON_DIR)/sms.cpp 

COMMON_OBJS = $(COMMON_SRCS:.cpp=.o)

# 编译选项（仅用于编译阶段：-I是头文件路径）
CXXFLAGS = -std=c++17 \
           -I$(COMMON_DIR) \
           -Wall -g

# 链接选项（仅用于链接阶段：-L是库路径，-l是库名）
LDFLAGS = -L/usr/local/lib \
          -lspdlog -lfmt -lgflags -lssl -lcrypto

test: test.cpp $(COMMON_OBJS)
	g++ -o $@ $^ $(CXXFLAGS) $(LDFLAGS)  

# 编译 common 目录下的源文件
$(COMMON_DIR)/%.o: $(COMMON_DIR)/%.cpp
	g++ -c $< -o $@ $(CXXFLAGS)  

.PHONY: clean
clean:
	rm -rf test $(COMMON_OBJS)